Laravel Dusk提供了一個自動化的測試API,
不用安裝Selenium等軟體,
直接用獨立的ChromeDriver,
當然也是可以搭配Selenium或其他相關軟體。
首先我們要先安裝Laravel Dusk
composer require --dev laravel/dusk
接下來執行dusk:install指令,
這個指令將會在tests資料夾底下建立一個Browser目錄和一個範例
php artisan dusk:install
會自動產生一個範例tests/Browser/ExampleTest.php
<?php
namespace Tests\Browser;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
class ExampleTest extends DuskTestCase
{
/**
* A basic browser test example.
*
* @return void
*/
public function testBasicExample()
{
$this->browse(function (Browser $browser) {
$browser->visit('/')
->assertSee('Laravel');
});
}
}
然後我們來執行範例看看
php artisan dusk
馬上就跳錯誤了,
這是因為dusk會吃.env裡面的APP_URL,
所以我們要把這個參數改成跟我們的網站設定值一樣,APP_URL=http://127.0.0.1:9654
再執行一次測試
php artisan dusk
果然就成功了!
恭喜你這是我們完成的第一個使用ChromeDriver作的單元測試。
另外,如果上次測試失敗,
可以執行指令只運行上次失敗的測試php artisan dusk:fails